<!DOCTYPE html>
<style>
  html {
    font-family: sans-serif;
  }
  body {
    margin: 0;
  }
  .stage {
    width: 1920px;
    height: 1080px;
    background: #fff;
    position: relative;
  }
  code {
    font-family: Courier, monospace;
  }
  spec-slide {
    position: absolute;
    inset: 0;
  }
  .vt-demo {
    position: absolute;
    inset: 25px 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 95px;
    gap: 80px 60px;
    color: #000;
    font: normal 68px sans-serif;
    text-align: center;
  }

  .step {
    grid-column-end: span 3;
    contain: layout;
  }

  .example {
    display: grid;
    grid-template-rows: max-content 1fr;
    gap: 37px;
  }

  .page {
    position: relative;
    border: 7px solid #000;
  }

  .states {
    display: grid;
    isolation: isolate;
    position: absolute;
    top: 30px;
    left: 30px;
  }

  .states .state-2 {
    opacity: 0;
    transform: none;
  }

  .state-1,
  .state-2 {
    background: green;
    color: white;
    padding: 20px 50px;
    border-radius: 50px;
    position: absolute;
    top: 30px;
    left: 30px;
    width: 200px;
    contain: layout;
    font-size: 56px;
  }

  .state-2 {
    background: orange;
    color: black;
    transform: translate(219px, 469px);
  }

  .states > * {
    grid-area: 1 / 1;
    mix-blend-mode: plus-lighter;
    position: relative;
    top: 0;
    left: 0;
  }

  .what-user-sees {
    position: absolute;
    inset: auto 0 35px;
    font-size: 53px;
  }
</style>
<script type="module" src="script.js"></script>
<div class="stage"></div>
